The generator matrix

 1  0  0  1  1  1  X  1  1  1  1  1  1  1  1  1  1  1  1  1
 0  1  0  X  1 X+1  1  X  0  0  1 X+1 X+1  X  1  0  X X+1  1  0
 0  0  1  1 X+1  X  1 X+1  1  X  1  0 X+1  0  X X+1  X  1  0  0

generates a code of length 20 over Z2[X]/(X^2) who�s minimum homogenous weight is 18.

Homogenous weight enumerator: w(x)=1x^0+6x^18+18x^19+15x^20+12x^21+9x^22+2x^23+1x^34

The gray image is a linear code over GF(2) with n=40, k=6 and d=18.
As d=18 is an upper bound for linear (40,6,2)-codes, this code is optimal over Z2[X]/(X^2) for dimension 6.
This code was found by Heurico 1.16 in 0.000779 seconds.